The invention relates generally to the field of software installation and turnkey systems.
A software product is a program or group of programs that perform a related set of useful functions, such as operating systems; spreadsheet, word processing, database, and email applications; and disk compression, error correction, and defragmentation utilities. After purchasing a software product, a user must typically perform a process called xe2x80x9cinstallationxe2x80x9d to copy the software product onto his or her computer system and configure the software product for operation.
Installation processes may be fairly involved. In a typical installation process, the user must obtain and access a CD-ROM containing the software product. The user must then locate an installation program for the software product on the CD-ROM, and execute the installation program. The location of the installation program on the CD-ROM often varies from product to product, as does the method for executing the installation program once it is located. The installation program copies the software product onto the user""s computer system and configures the software product for operation. The installation program generally uses a visual user interface, whose style also varies from product to product, to query the user for information that it uses to determine which portions of the software product to copy to the user""s computer system and how to configure the software product for operation. The queried information is often highly technical in nature, and can be beyond the knowledge of a typical user. It is also often difficult for a user to relate questions posed by the installation program to the environment of his or her computer system.
In view of how difficult conventional software product installations can be to complete, an automated, centralized facility for installing software products would have significant utility.
In a preferred embodiment, the present invention provides a software facility for the centralized, automated installation of software products (xe2x80x9cthe facilityxe2x80x9d). The facility preferable creates an automated installation script (xe2x80x9cscriptxe2x80x9d) for each software product, permit users to select a software product from a single list of software products such as a menu, and installs the selected software product with little or no user intervention using the script for the selected software product.
The facility preferably creates a script for a new software product by performing a trial installation of the software product using a vendor installation program provided with the software product. The facility monitors the changes made to the computer system during the trial installation process, and generates a script that automatically makes these same changes. After the facility generates a script for a software product, the script may be executed by users to automatically install the software product, and the vendor installation program for the software product is no longer needed.
Vendor installation programs commonly require a significant amount of user input. For example, various vendor installation programs require the version or portions of the software product to be installed, the location in which the software product is to be installed, the name and location of resources used by the computer system, and information about the purchaser of the software product used for warranty registration. In accordance with the invention, this user input is provided by a system administrator, whose body of knowledge about the information needed by vendor installation programs is more extensive than those of other users. Because the script is based on user input from a system administrator and the facility uses the script to install the software product for less knowledgeable users, each user installation is able to enjoy the benefits of the system administrator""s more extensive knowledge.